草庐IT

android - GoogleSignInAccount 返回 null

全部标签

c# - 返回无效或过期 token 的错误

我正在尝试使用Owin实现OAuthBearer身份验证。当传递无效或过期的token时,默认实现是将其记录为警告,只是不设置身份。但是,在这种情况下,我想拒绝整个请求并出错。但我该怎么做呢?在深入研究代码后,我发现在OAuthBearerAuthenticationHandler中,当提供的AuthenticationTokenProvider未解析任何票证(如默认执行)。当token无法解析为任何票证或token过期时,此处理程序将记录警告。但是我找不到任何地方来插入我自己的逻辑来处理token无效或过期时发生的情况。理论上我可以在AuthenticationTokenProvid

c# - 检查 null 线程安全吗?

我有一些代码在新线程上抛出异常,我需要在主线程上确认和处理这些异常。为实现这一点,我通过使用保存抛出异常的字段在线程之间共享状态。我的问题是我是否需要在检查null时使用锁,就像我在下面的代码示例中所做的那样?publicclassMyClass{readonlyobject_exceptionLock=newobject();Exception_exception;publicMyClass(){Task.Run(()=>{while(CheckIsExceptionNull()){//Thisconditionalwillreturntrueif'somethinghasgonew

c# - 删除可选相关实体时如何将 FK 更新为 null

我是EF的新手,在删除我的对象方面遇到了一些困难。我的两个对象和关联的DbContext如下所示:publicclassContext:DbContext{publicContext():base(){}publicDbSetPersons{get;set;}publicDbSetVehicles{get;set;}}publicclassPerson{publicintPersonID{get;set;}publicstringName{get;set;}}publicclassVehicle{publicintVehicleID{get;set;}publicint?PersonI

c# - Entity Framework ——存储过程返回值

我正在尝试获取存储过程的返回值。以下是此类存储过程的示例:selectName,IsEnabledfromdbo.somethingwhereID=@IDif@@rowcount=0return1return这是一个简单的选择。如果找到0行,我的结果集将为空,但我仍然会有返回值。这是一个不好的例子,因为这是一个选择,所以如果返回0行,我肯定能找到。但是,在插入、删除或其他调用中,我们需要此返回值来了解是否存在问题。我一直无法找到获得此返回值的方法。可以得到输出值,可以得到结果集,但是没有返回值。如果我手动调用SQL,或者即使我使用EntityFramework运行SqlCommand,

c# - 如果线程正在等待异步操作完成,.NET Task 线程的资源是否会暂时返回池中?

我有一个做两件事的TPL任务。首先,它调用网络服务。其次,它将一些数据插入数据库。我有多达20个任务同时开始,一遍又一遍地做同样的事情。他们整天所做的就是调用Web服务并将数据插入数据库。我对.NET中的TPL还很陌生。我已经完成了一些有关后台工作进程和异步Web服务的工作。Web服务调用和数据库插入都是任务运行线程内的阻塞调用。我知道在幕后,当您使用Tasks时,.NET会为您管理一个线程池。是吗?如果我使用async和await()进行服务调用和数据库调用而不是使它们阻塞调用,线程池是否会有更多线程供其使用?我的理论(我不确定我为什么这么认为)是线程在等待阻塞的Web服务时正忙于无

c# - 如果使用可为空的 int 变量,LINQ 返回 0 个结果,如果使用 "null",则返回准确的结果

我有一个名为“test”的表,它只有1列,“NullableInt”(可为空的int类型)记录为:1、2、nullint?nullableInt=null;vart=db.tests.Where(x=>x.NullableInt==null).ToList();//returns1recordvart2=db.tests.Where(x=>x.NullableInt==nullableInt).ToList();//returns0records出于某种原因,t2返回0条记录,即使它使用了值为null的“nullableInt”变量,就像t与“null”进行比较一样如有任何帮助,我们将

c# - SQL - 将 NULL 插入 DateTime

我有一个表,我在其中将Datetime添加到某些列中。我使用存储过程将值插入表中。在存储过程中,我有一些变量接受null以插入到表中。我的问题是,当我尝试向表列中插入一个空值时,我在该列中得到了1900-01-01。我该怎么做而不是这个默认值在列中仅插入NULL??这是我的SP:CREATEPROCEDUREdbo.Insert@InserIDint,@InsertDateDatetime=null,ASInsertintoTables(InsertID,InsertDate)Values(@InsertID,@InsertDate)我这样做是为了分配一个空值:System.Data.

c# - 为什么 C# LinkedList.RemoveFirst() 不返回删除的值?

C#的LinkedList的RemoveFirst()和RemoveLast()操作不返回删除的值是否有一些惯用的、性能的或设计哲学的原因?现在,如果我想读取并删除第一个值,我相信咒语是:LinkedListlist=...;...stringremoved=list.First.Value;list.RemoveFirst();在Java中,它将是:LinkedListlist=...;...Stringremoved=list.removeFirst();不要误会我的意思;我并不是说Java更好。C#的LinkedList具有更多功能,只需将Node公开为公共(public)结构即

c# - 为什么 Request.Form.ToString() 的返回值与 NameValueCollection.ToString() 的结果不同

好像HttpContext.Request.Form中的ToString()被修饰了所以结果不一样从直接在NameValueCollection上调用时从ToString()返回的那个:NameValueCollectionnameValue=Request.Form;stringrequestFormString=nameValue.ToString();NameValueCollectionmycollection=newNameValueCollection{{"say","hallo"},{"from","me"}};stringnameValueString=mycollec

c# - TypeDescriptor.GetConverter() 不返回我的转换器

我有一个简单类型,带有一个在运行时编译和加载的自定义类型转换器。TypeDescriptor.GetConverter()虽然没有找到正确的转换器。这是一个独立的例子usingSystem;usingSystem.ComponentModel;usingSystem.Collections.Generic;usingSystem.CodeDom.Compiler;usingMicrosoft.CSharp;publicclassProgram{privatestaticstringsrc=@"usingSystem;usingSystem.ComponentModel;namespac